#include <stdio.h>
#include <string.h>

void revert(char str[]) // "ab"
{
    if(strlen(str) <= 1)
        return;
    
    char *p1 = &str[0];
    char *p2 = &str[strlen(str)-1];

    while(1)
    {
        // 交换p1和p2指向的字符
        char tmp;
        tmp = *p1;
        *p1 = *p2;
        *p2 = tmp;

        // 让他们往中间靠拢
        p1++;
        p2--;

        // 判断是否逆序完毕
        if(p1 >= p2)
            break;
    }
}

int main(int argc, char const *argv[])
{
    char str[] = "abcde";

    revert(str);
    printf("%s\n", str);

    return 0;
}
